package org.ch00.test01;

import java.util.Random;

/**
 * 第一：定义类
 *
 * @author ZQX
 * @date 2025-02-28
 */
public class Dog {
    // 1. 属性 - 成员变量
    // [访问修饰符] 数据类型 变成名 ;
    private String name;
    private String color;


    // alt + insert
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    // 注意：当重载构造方法后，默认的构造方法就失效
    public Dog(String name, String color) {
        this.name = name;
        this.color = color;
    }

    // 注意：重载构造方法后，建议把默认构造方法显式的定义出来
    public Dog(){}

    // 2. 行为 - 成员方法
    public void call() {
        // 功能实现 ...
        // this是内部的特殊关键字，表示当前对象
        // 谁调用我，this就是谁
        System.out.println(this.name + "在汪汪...");
    }

    public void run() {
        // 功能实现 ...
        System.out.println("跑...");
    }

    public int eat(String sth) {
        // 功能实现 ...
        System.out.println("吃：" + sth);
        return new Random().nextInt(10) + 1;
    }
}
